. EDA  -  INTRODUCTION                                                         .
╔══════════════════════════════════════════════════════════════════════════════╗
║ EDA is a text editor intended for large ASCII files.  It has special functi- ║
║ ons, which enable to perform calculations, sorting, block-based editing etc. ║
║ EDA  uses  all free  memory  RAM  to create  large page.  Width of this page ║
║ (maximal number of characters per line)  is defined  by user at OS prompt as ║
║ a parameter.  Length of page (maximal number of rows), which EDA can handle, ║
║ depends on the page width according to the following rule:                   ║
║                                                                              ║
║ (width of page + 2) x (length of page) = size of free memory RAM.            ║
║                                                                              ║
║ In spite of this rule,  length of text  page  cannot exceed  32000 rows  and ║
║ width of text page cannot exceed 32000 characters.                           ║
║                                                                              ║
║ EDA  was originally written  in Borland's  Turbo Pascal.  Version for  OS/2, ║
║ named EDA2.EXE, is written in Virtual Pascal from fPRINT UK Limited.  Due to ║
║ swapping capability  of operating system  OS/2,  size of free memory  RAM is ║
║ "enlarged" by free disk space.  For example, if your disk has  30MB  of free ║
║ space and there is  8MB of free  RAM for applications,  you can handle files ║
║ up to 38MB, using EDA. Most of the special functions are based  on the block ║
║ definition,  that is rectangular area defined by upper left corner (start of ║
║ the block) and lower right corner (end of the block). If the block is corre- ║
║ ctly defined,  it is marked  by inverse display.                             ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  HOW TO RUN PROGRAM                                                   .
╔══════════════════════════════════════════════════════════════════════════════╗
║ EDA can be run at OS prompt using command:                                   ║
║                                                 ┌────────────────────────────║
║ EDA2 [param1]/[*] [param2] [param3]             │ To find the longest row in ║
║                                                 │ unknown text file, type:   ║
║ param1 = name of input file                     │                            ║
║ param2 = page width (default 254 characters)    │ FI2 file_name              ║
║ param3 = page length (default 2400 rows)        │                            ║
║                                                 │ at OS prompt               ║
║ Examples:                                       └────────────────────────────║
║                                                                              ║
║ C:\>EDA2 * 120    - new text with page width 120 characters will be edited   ║
║ C:\>EDA2 MER.1    - file MER.1 will be edited with page width 254 characters ║
║ C:\>EDA2 MER 3000 - file MER will be edited with page width 3000 characters  ║
║                                                                              ║
║ When exiting EDA (Esc key), the following question appears:                  ║
║  "save ? (y/n/file name)"                                                    ║
║ or, if new text was edited:                                                  ║
║  "save ? (n/file name)"                                                      ║
║ If the answer is y (yes), the input file will be replaced by contents of the ║
║ text page.  If n (no) is entered,  EDA  will exit  without  saving the text. ║
║ If new file name is entered, EDA will save text into file with this name.    ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  SCREEN DESCRIPTION                                                   .
╔══════════════════════════════════════════════════════════════════════════════╗
║ As soon as  EDA is started from OS prompt,  first twenty four rows  of input ║
║ file appears  on the screen.  Last row is intended as a informative and con- ║
║ versational row.  All error messages are displayed  at this row.  Symbols at ║
║ informative row have the following meaning:                                  ║
║                                                                              ║
║ C (column) ... number of column at cursor position                           ║
║ R (row) ...... number of row at cursor position                              ║
║                                                                              ║
║ Insert/Replace ... identification of editor's mode (it is altered by         ║
║                    Insert key)                                               ║
║                                                                              ║
║ R/D .... measurement of angles in calculations (radians/degrees)             ║
║                                                                              ║
║ M= ..... selected page width - maximal number of character per row           ║
║                                                                              ║
║ N= ..... overall number of rows in the edited text                           ║
║                                                                              ║
║ MaxN ... maximal number of rows,  that can be handled by editor  (depends on ║
║          the page width and free RAM)                                        ║
║                                                                              ║
║ D= ..... row range of block. If no block is selected, D=0                    ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  SUMMARY OF KEYS 1 (3)                                                .
╔═════════════════════════════════╦════════════════════════════════════════════╗
║          ... cursor up         ║ Ctrl+F ... search string                   ║
║          ... cursor down       ║ Ctrl+L ... repeat last search              ║
║ ¬         ... cursor right      ║ Ctrl+A ... exchange string                 ║
║ ½         ... cursor left       ║ Ctrl+B ... remove right spaces             ║
║ Home      ... start of the line ║ Ctrl+O ... draw box                        ║
║ End       ... end of the line   ║ Ctrl+E ... fill spaces in columns          ║
║ Ctrl ¬    ... 27 char. right    ║ Ctrl+T ... transpose matrix of numbers     ║
║ Ctrl ½    ... 27 char. left     ║ Ctrl+X ... operation with matrix           ║
║ PgDn      ... window down       ║ Ctrl+R ... read block from disk            ║
║ PgUp      ... window up         ║ Ctrl+W ... write block to disk             ║
║ Ctrl+PgUp ... top of the file   ║ Ctrl+I ... fill block by string            ║
║ Ctrl+PgDn ... end of the file   ║ Ctrl+U ... do not display selected block   ║
║ Ins   ... insert / replace      ║ Ctrl+D ... display selected block          ║
║ Del   ... delete character /    ║ Ctrl+G ... fill column / row by numbers    ║
║           connect rows          ║ Ctrl+N ... name of edited file             ║
║ Bkspc ... delete char. to left  ║ Ctrl+Z ... write row into file SELECT      ║
║ Enter ... new row / divide row  ║ Ctrl+V ... change text color               ║
║                                 ║ Ctrl+Y ... delete row                      ║
║                                 ║ Ctrl+Q ... write character                 ║
║                                 ║            using Alt+number                ║
║                                 ║                                            ║
╚═════════════════════════════════╩════════════════════════════════════════════╝
. EDA  -  SUMMARY OF KEYS 2 (3)                                                .
╔═════════════════════════════════════════╦════════════════════════════════════╗
║ Alt+F1  ... part. sum of number column  ║ Alt+R ... angle measur. in angles  ║
║ Alt+F2  ... sum of numbers in block     ║ Alt+D ... angle measur. in degrees ║
║ Alt+F3  ... average of numbers in block ║                                    ║
║ Alt+F4  ... minimum of numbers in block ║ Alt+H ... fix row (1-16)           ║
║ Alt+F5  ... maximum of numbers in block ║ Alt+J ... fix column (1-52)        ║
║ Alt+F6  ... standard deviation          ║ Alt+K ... release rows             ║
║     F7  ... start of the block          ║ Alt+L ... release columns          ║
║     F8  ... end of the block            ║                                    ║
║     F9  ... copy block                  ║ Alt+Q ... word in text ¬ register  ║
║     F10 ... move block                  ║ Alt+A ... word in register ¬ text  ║
║                                         ╚════════════════════════════════════╣
║ Ctrl+F7  ... initial column of the block                                     ║
║ Ctrl+F8  ... terminal column of the block                                    ║
║ Ctrl+F9  ... copy block in horizontal direction                              ║
║ Ctrl+F10 ... move block in horizontal direction                              ║
║ Ctrl+Enter ... space in all rows (in block range)                            ║
║ Ctrl+Bkspc ... delete character in all rows (in block range)                 ║
║                                                                              ║
║ F1 ... help                                  Shift+F1 ... last selected help ║
║                                                                              ║
║ Alt+W ... save and do not exit               Esc ... exit                    ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  SUMMARY OF KEYS 3 (3)                                                .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Alt+F9  ... start recording macro                                            ║
║ Alt+F10 ... stop recording macro                                             ║
║ Alt+0-9 ... perform macro                                                    ║
║ Alt+M   ... edit macro                                                       ║
║                                                                              ║
║ Alt+E ... delete to the end of the line                                      ║
║ Alt+Y ... delete all rows in the block range                                 ║
║ Alt+P ... save cursor location (for Alt G)                                   ║
║ Alt+G ... skip cursor to the specified location                              ║
║ Alt+S ... sort text inside of the selected block                             ║
║ Alt+C ... perform calculation according to the selected formula              ║
║                                                                              ║
║ Alt+- ... move block display left                                            ║
║ Alt+= ... move block display right                                           ║
║ Alt+F ... fill positions predefined by chracter(s) ≈                         ║
║ Alt+O ... write character ≈                                                  ║
║                                                                              ║
║ F2 ... word in text ¬ block                                                  ║
║ F3 ... initialize cache for frequently used words                            ║
║                                                                              ║
║                                                                              ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  BLOCKS                                                               .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Block is defined using keys F7 (start of the block - upper left corner)  and ║
║ F8 (end of the block - lower right corner).  Let c1 and r1 designates column ║
║ and row of the block start,  and c2 and r2 designates column and row  of the ║
║ block end. Block is correctly defined, if and only if s1<s2 and r1<=r2.      ║
║                                                                              ║
║ Correctly defined block  is marked  by inverse display  (black text on white ║
║ background).  If Ctrl+U is pressed, block is not visible by inverse display, ║
║ but it remains defined - inverse display is restored using Ctrl+D.  For easy ║
║ change of long blocks there are keys Ctrl+F7 and Ctrl+F8, which are intended ║
║ for initial and terminal column change  (row range of the block is not chan- ║
║ ged).                                                                        ║
║ It is possible to copy (move) block into another place using key  F9  (F10). ║
║ Block is copied  (moved) so,  that upper left corner  of the copied area  is ║
║ identical  with cursor position.  This function is realized  only in replace ║
║ mode - that means,  if there is any text in destination area, it will be re- ║
║ placed.  In cases,  when  text  has not  to be replaced,  it is necessary to ║
║ create free space using keys Enter or Ctrl+Enter.                            ║
║ There is possibility to copy (move) block  in horizontal direction using key ║
║ Ctrl+F9 (Ctrl+F10).                                                          ║
║ For  reading and writing  block  contents  from/to  disk  are intended  keys ║
║ Ctrl+R and Ctrl+W.                                                           ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  CALCULATIONS 1 (3)                                                   .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Calculation  according to the entered formula  is started  (only if block is ║
║ defined)  using  key  Alt+C.  Formula is entered  at last conversational row ║
║ using the following symbols:                                                 ║
║                                                                              ║
║ 0 1 2 3 4 5 6 7 8 9 . + - * / ^ s c t a e ( )    where                       ║
║                                                                              ║
║ + - * / ^  are symbols for mathematical operations (addition, subtraction,   ║
║            multiplication, division and involution)                          ║
║                                                                              ║
║ s c t a l e  are symbols designating mathematical functions (sine, cosine,   ║
║              tangent, cotangent, logarithm and exponential)                  ║
║                                                                              ║
║ Formula can be edited only using keys Esc (delete formula) and Backspace     ║
║ (delete character left).                                                     ║
║                                                                              ║
║ Examples:                                                                    ║
║ ^^^^^^^^^        Mathematical notation        Notation in EDA                ║
║                  ~~~~~~~~~~~~~~~~~~~~~        ~~~~~~~~~~~~~~~                ║
║                  1.71+ln(3.7)∙e²              1.71+l(3.7)*e(2)               ║
║                   __________________                                         ║
║                  √ sin²(42)+cos²(42)          (s(42)^2+c(42)^2)^0.5          ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  CALCULATIONS 2 (3)                                                   .
╔══════════════════════════════════════════════════════════════════════════════╗
║ While entering formula,  it is possible to use parameter instead of the num- ║
║ ber.  After pressing key P,  cursor skips  into text page  and the following ║
║ message appears in lower row:                                                ║
║  "mark position of parameter by block and press Enter".                      ║
║ In next step user marks (as a block) column of numbers, which are to be sub- ║
║ stituted into formula.  After pressing key Enter,  capital letter  (A,B,...) ║
║ appears in formula instead of previously typed P. Formula is completed using ║
║ key Enter and the following message appears:                                 ║
║  "mark position of result and press Enter".                                  ║
║ Cursor again skips into text page and can be located  at desirable position. ║
║ Now key Enter has to be again pressed and the following message appears:     ║
║  "result width and number of decimal places   9   4"                         ║
║ Numbers 9 and 4 can be modified and after pressing Enter calculation will be ║
║ performed in row range of block.  Before formula entering, angle measurement ║
║ can be altered by Alt+R (radians) and Alt+D (degrees).                       ║
║                                                                              ║
║ The following page illustrates block definition during calculation according ║
║ to the formula A+B/10, where values from second column are to be substituted ║
║ instead of A  and values from the first column are to be substituted instead ║
║ of B. Width of result was specified as 8, number of decimal places as 3.     ║
║                                                                              ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  CALCULATIONS 3 (3)                                                   .
╔══════════════════════════════════════════════════════════════════════════════╗
║                                                                              ║
║                                                                              ║
║       cursor position determines location of the result                      ║
║                          │                         result                    ║
║       ┌──────┬─────┐     │    ┌──────┐               │                       ║
║       │ 15.45│2.345│210  █    │ 15.45│2.345 210     3.890                    ║
║       │ 17.01│2.831│214       │ 17.01│2.831 214     4.532                    ║
║       │ 16.46│3.001│198       │ 16.46│3.001 198     4.647                    ║
║       │ 13.24│2.223│199  ---> │ 13.24│2.223 199     3.547                    ║
║       │ 15.90│2.224│187       │ 15.90│2.224 187     3.814                    ║
║       │ 17.02│2.456│203       │ 17.02│2.456 203     4.158                    ║
║       └───┬──┴──┬──┘          └──────┘                                       ║
║           │     │                                                            ║
║           │     │                                                            ║
║           │     block for definition of the first parameter                  ║
║           │                                                                  ║
║           block for definition of the second parameter                       ║
║                                                                              ║
║                                                                              ║
║                                                                              ║
║                                                                              ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  STATISTICAL FUNCTIONS 1 (2)                                          .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Statistical functions are invoked by pressing one of the following keys:     ║
║                                                                              ║
║ Alt+F1 ... partial sum of numbers in column    Alt+F4 ... minimum            ║
║ Alt+F2 ... sum                                 Alt+F5 ... maximum            ║
║ Alt+F3 ... average                             Alt+F6 ... standard deviation ║
║                                                                              ║
║ Any statistical function can be applied only if block  is selected  and  has ║
║ sense,  if block contains column(s) or row(s) of numbers.  Statistical value ║
║ will be  calculated from  column  of numbers  or  from row of numbers  -  it ║
║ depends on the cursor position. If cursor is positioned at right side of the ║
║ block, value is calculated from all rows  (it is assumed, there is free area ║
║ for result). Result is located at cursor position after the following prompt ║
║ is answered:                                                                 ║
║                                                                              ║
║  "result width and number of decimal places   9   4"                         ║
║                                                                              ║
║ If cursor is located at space column preceding column of numbers,  statisti- ║
║ cal value  is calculated from this column.  Location of result is determined ║
║ by position of cursor.                                                       ║
║                                                                              ║
║ The following page illustrates using of statistical functions.               ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  STATISTICAL FUNCTIONS 2 (2)                                          .
╔══════════════════════════════════════════════════════════════════════════════╗
║    Calculation of statistical function for rows                              ║
║    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                              ║
║   cursor position before pressing Alt+F4           result                    ║
║     ┌──────────────┐ │             ┌──────────────┐  │                       ║
║     │2.34 2.32 1.98│ █             │2.34 2.32 1.98│ 1.98                     ║
║     │2.15 2.26 2.03│        -----> │2.15 2.26 2.03│ 2.03                     ║
║     │2.56 2.34 2.06│               │2.56 2.34 2.06│ 2.06                     ║
║     │1.78 2.45 2.11│               │1.78 2.45 2.11│ 1.78                     ║
║     └──────────────┘               └──────────────┘                          ║
║                                                                              ║
║    Calculation of statistical function for column                            ║
║    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^                            ║
║     ┌──────────────┐               ┌──────────────┐                          ║
║     │2.34 2.32 1.98│               │2.34 2.32 1.98│                          ║
║     │2.15 2.26 2.03│        -----> │2.15 2.26 2.03│                          ║
║     │2.56 2.34 2.06│               │2.56 2.34 2.06│                          ║
║     │1.78 2.45 2.11│               │1.78 2.45 2.11│                          ║
║     └──────────────┘               └──────────────┘                          ║
║               █                               8.18──── result                ║
║               │                                                              ║
║   cursor position before pressing Alt+F2                                     ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  SORTING 1 (2)                                                        .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Records inside block can be sorted according to sorting key.  Sorting key is ║
║ string with maximal length 64 characters. During sorting process, characters ║
║ (their numbers from ASCII table) are compared  -  that is why, the following ║
║ rules should be respected:                                                   ║
║                                                                              ║
║  if sorting key is column of numbers, then numbers should be aligned to the ║
║   right with the same number of decimal places.                              ║
║  if alphabetical sorting is performed,  column of alphabetic items (sorting ║
║   key) should be aligned to the left.                                        ║
║                                                                              ║
║ Sorting is invoked by key  Alt+S (block must be selected),  when the follow- ║
║ ing message appears:                                                         ║
║  "mark start of sorting key and press Enter"                                 ║
║ and cursor skips into text page,  where user can define start of the sorting ║
║ key. The same process is repeated to determine end of sorting key.  Finally, ║
║ sorting mode is specified after answering the question:                      ║
║  "sorting mode (ascending-a, descending-d, do not sort-*)"                   ║
║ If sorting mode  is specified  by capital letters  (A or D),  sorting key is ║
║ converted to upper case. Sorting can last a few seconds, especially if block ║
║ is very long.                                                                ║
║ The following page illustrates sorting process.                              ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  SORTING 2 (2)                                                        .
╔══════════════════════════════════════════════════════════════════════════════╗
║                                                                              ║
║       product          price         product          price                  ║
║        name   quantity  $             name   quantity  $                     ║
║       ┌──────────────────┐           ┌──────────────────┐                    ║
║       │NU  74    4    325│           │NU   9   11   1120│                    ║
║       │NUA 72    3    350│           │NU  73   12   1090│                    ║
║       │NU  73   12   1090│           │NU  74    4    325│                    ║
║       │NU   9   11   1120│           │NUA 72    3    350│                    ║
║       │NUB 72   13   1560│  ------>  │NUB  1    9    870│                    ║
║       │NUB  1    9    870│           │NUB  3    6    540│                    ║
║       │NUD 72   13   1300│           │NUB 72   13   1560│                    ║
║       │NUG 72   10   1430│           │NUC 72   11    980│                    ║
║       │NUC 72   11    980│           │NUD 72   13   1300│                    ║
║       │NUB  3    6    540│           │NUG 72   10   1430│                    ║
║       └──────────────────┘           └──────────────────┘                    ║
║        █    █── end of sorting key                                           ║
║        │                                                                     ║
║        └─────── start of sorting key                                         ║
║                                                                              ║
║                                                                              ║
║                                                                              ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  SELECTION FUNCTION                                                   .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Selection function enables to find information (in rows) in the block range. ║
║ It is started  by key  Alt X.  Then user is expected  to enter  logical term ║
║ using the following characters (sorted according to a priority):             ║
║ z ....... empty row (row with zero length)                                   ║
║ f ....... first non-empty row following an empty row                         ║
║ l ....... last non-empty row preceding an empty row                          ║
║ d ....... the following row is the same                                      ║
║ <,=,> ... less than, equal, greater than                                     ║
║ e ....... exists string                                                      ║
║ n,a,o ... logical operators not, and, or                                     ║
║                                                                              ║
║ String must be closed between two characters " - for example "101A".         ║
║ Relation operators <, =, >  can be followed (or preceded)  by the parameter, ║
║ which is determined by the same way, as in case of formula (see above).      ║
║ Result of the selection function is one-character column,  in which an aste- ║
║ risk (*) appears, if the logical term gets true value.                       ║
║ Examples:                                                                    ║
║ l a e"101AB' ... last non-empty rows preceding an empty row, in which string ║
║                  101AB exists, will be marked by the asterisk.               ║
║ (e"[") a n(e"]") ... all rows,  in which character [ exists  and character ] ║
║                      does not exist, will be marked by the asterisk.         ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  NUMBER ENTERING                                                      .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Columns or row of numbers  can be comfortably entered  using key Ctrl+G.  If ║
║ this function is invoked, user must at first specify, if columns or row will ║
║ be entered.  Number width and number of decimal places  must be specified as ║
║ well.  If number  of decimal places  is negative,  entered  numbers  will be ║
║ displayed in exponential form.  Finally,  on the screen appears  pattern for ║
║ entered number.                                                              ║
║ Numbers are entered  in the conversational row and the following keys can be ║
║ used:  +, -, 0,...,9, E, ¬, ½, Backspace, Del, Esc, Home and End.  Number is ║
║ written to the text page after key Enter is pressed. Function is finished as ║
║ soon as empty string is entered.                                             ║
║                                                                              ║
║ Examples:                                                                    ║
║ ┌──────────────┬────────────────────┬────────────────┬────────────────┐      ║
║ │   number     │    number of       │                │   example of   │      ║
║ │   width      │  decimal places    │    pattern     │     number     │      ║
║ ├──────────────┼────────────────────┼────────────────┼────────────────┤      ║
║ │      7       │         2          │    ≡≡≡≡.≡≡     │     1487.55    │      ║
║ │      7       │         0          │    ≡≡≡≡≡≡≡     │     7875640    │      ║
║ │     12       │        -2          │  ±≡.≡≡≡≡≡E±≡≡  │   -3.14159E-04 │      ║
║ │     10       │        -1          │   ±≡.≡≡≡≡E±≡   │    2.4634E+1   │      ║
║ └──────────────┴────────────────────┴────────────────┴────────────────┘      ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  FAST TEXT FILLING                                                    .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Key  Alt+F is intended for fast text filling at predefined positions.  After ║
║ Alt+F is pressed, first occurrence of predefined position is found. Predefi- ║
║ ned position  must be typed  using  characters  '≈',  '.' and  'E'  (see the ║
║ following example).  Predefined position is marked as a little block and EDA ║
║ is awaiting  text or number.  After key Enter is pressed,  text or number is ║
║ written at predefined position in the text page. If empty string is entered, ║
║ function is finished.                                                        ║
║ Example: Let the following form is to be filled:                             ║
║ ┌──────────────────────────────────────────────────────────────────────────┐ ║
║ │ Name of well  ≈≈≈≈≈≈                     Date of measurement  ≈≈.≈≈.≈≈   │ ║
║ │ Depth  ≈≈≈.≈≈E≈≈                         Temperature ≈≈.≈ [`C]           │ ║
║ │ Atmospherical pressure ≈≈≈≈.≈ [kPa]      Water level ≈≈≈≈.≈≈ [m]         │ ║
║ └──────────────────────────────────────────────────────────────────────────┘ ║
║ After entering KL-011, 12.09.94, 225.65, 17.3, 987.3 and 198.33 it will look ║
║ like this:                                                                   ║
║ ┌──────────────────────────────────────────────────────────────────────────┐ ║
║ │ Name of well  KL-011                     Date of measurement  12.09.94   │ ║
║ │ Depth   2.557E+2                         Temperature 17.3 [`C]           │ ║
║ │ Atmospherical pressure  987.3 [kPa]      Water level  198.33 [m]         │ ║
║ └──────────────────────────────────────────────────────────────────────────┘ ║
║ Character ≈ is entered using key Alt+O.                                      ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  MACROS                                                               .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Macro is file containing sequence  of pressed keys  and  can be performed by ║
║ pressing a single key.  Macro recording is started with key Alt+F9.  At con- ║
║ versational row appears  "number of macro".  User must enter number in range ║
║ 0,...,9 and file Mi.MAC is opened  in actual directory  (i is entered number ║
║ of macro).  All pressed keys are recorded,  until key Alt+F10 (end of macro) ║
║ is pressed. Macro recording is indicated at conversational row by characters ║
║ Mi, where i is number of macro. Macro can be performed using key Alt+i.  For ║
║ example,  after Alt+7 is pressed,  sequence of keys contained in file M7.MAC ║
║ is performed (if such file exists.)                                          ║
║ During macro recording,  another  macro  must not be performed  (any of keys ║
║ Alt+0,...,Alt+9  must not be pressed).  If it happens,  preceding  macro  is ║
║ closed. Analogue rule holds for key Alt+9.                                   ║
║ This limitation can be eliminated using program MACRO2.EXE,  that enables to ║
║ combine several macros  into one file.  Program MACRO2.EXE  will create file ║
║ M0.MAC, which links several macros specified as a parameter. For example:    ║
║ C:\>MACRO2 73912  will link files M7.MAC, M3.MAC, M9.MAC, M1.MAC  and M2.MAC ║
║ into one file M0.MAC.                                                        ║
║ To ensure "repeating" macro,  press  Alt+I key just before  Alt+F10 key.  In ║
║ this case,  macro will be performed repeatedly,  until last row  (column) is ║
║ detected. Repeating can be also interrupted, if searched string is not found ║
║ (Ctrl+F or Ctrl+A functions), or by user's pressing Esc key.                 ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  MATRIX MODIFICATIONS                                                 .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Key  Ctrl+X  enables to perform  operation with  all elements of the matrix: ║
║ multiplication by constant, constant addition and absolute value. Key Ctrl+T ║
║ enables matrix transposition (exchange rows and columns). In both cases, mo- ║
║ dified matrix is saved to the disk as a file  (MUL.MAT in case of Ctrl+X and ║
║ TRA.MAT in case of Ctrl+T)  and than is read from disk  as a block.  Reading ║
║ from disk must not be always complete  (in this  case  adequate  warning  is ║
║ displayed),  especially if long rows or long columns are transposed.  In any ║
║ case, user has available files MUL.MAT and TRA.MAT.  Modified matrix must be ║
║ marked as a block and must contain only number items.                        ║
║                                                                              ║
║ Example:                                                                     ║
║ ^^^^^^^^  cursor position before pressing Ctrl+T ──┐                         ║
║                                                    │                         ║
║                                                    █  2.34   0.11   4.22     ║
║       block containing matrix of numbers,             0.34  12.00   5.06     ║
║            that is to be modified                     9.44   5.47   4.09     ║
║ ┌─────────────────────┴────────────────────────┐      6.07   0.47   6.51     ║
║ │2.34  0.34  9.44  6.07 12.98  5.00  0.98  1.47│     12.98   3.78   6.34     ║
║ │0.11 12.00  5.47  0.47  3.78  9.21  9.22  5.45│      5.00   9.21   9.45     ║
║ │4.22  5.06  4.09  6.51  6.34  9.45  0.00  3.97│      0.98   9.22   0.00     ║
║ └──────────────────────────────────────────────┘      1.47   5.45   3.97     ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  CACHE FOR FREQUENTLY USED WORDS                                      .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Frequently used words can be recorded into special file named  CACHE.EDA  in ║
║ actual directory.  If key F4 is pressed, word at cursor position is recorded ║
║ into file  CACHE.EDA  and from this moment  is available  for quick transfer ║
║ into written text.  After EDA is started,  cache buffer with frequently used ║
║ words is not visible. If key F3 is pressed, EDA starts to check each written ║
║ word. When first letters of the word are typed, EDA looks up words beginning ║
║ with these letters  in the cache buffer.  If there are such words,  they are ║
║ displayed in opened upper window and marked by yellow letters on green back- ║
║ ground.  User can press key Tab,  select  (using keys ¬, ½, º, ô)  desirable ║
║ word,  and  pressing Enter  can transfer  word  into text.  Word can be also ║
║ transferred with key corresponding to yellow mark  (keys a,...,h).  If there ║
║ is only one word in cache buffer  (beginning with typed first letters of the ║
║ word),  EDA peeps and calls attention to opportunity for transferring of the ║
║ word.                                                                        ║
║                                                                              ║
║ If this  EDA's  feature  is  intensively  used,  it is reasonable  to create ║
║ several files  with frequently used words  concerning  with certain  topics. ║
║ These files can be named according to user convenience and before using EDA, ║
║ desirable file can be renamed to CACHE.EDA. File CACHE.EDA is ordinary ASCII ║
║ file and can be created by any  ASCII editor.  If there is too many words in ║
║ CACHE.EDA, looking up words may unacceptably slow down.                      ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  NON-STANDARD CHARACTERS                                              .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Key  Ctrl+Q is intended for input of any  ASCII character.  After  Ctrl+Q is ║
║ pressed,  any  ASCII character can be entered  as a corresponding number  in ║
║ ASCII table, while holding down Alt key. For example, Alt+228 = Σ.           ║
║                                                                              ║
║ Certain group of characters  can be entered using keys ' / and \.  If any of ║
║ these key is pressed,  cursor disappears  and  EDA is awaiting for next key. ║
║ Key combinations are described in the following tables:                      ║
║                                                                              ║
║ Key ':                                                                       ║
║ 'a ... á     'e ... é     'i ... í     'o ... ó     'u ... ú     'y ... ÿ    ║
║                                                                  '' ... '    ║
║ Key /:                                                                       ║
║ /e ... ê     /u ... û     /z ... æ     /s ... ¿     /c ... ç                 ║
║ /r ... ⌐     /d ... â     /t ... ƒ     /n ... ñ                              ║
║ /1 ... ■     /2 ...      /3 ... î     /4 ... ÷     /5 ... ∙                 ║
║ /[ ... ▌     /] ... ▐     /( ...      /) ...                               ║
║ /¬ ... ¬     /½ ... ½     /ô ... ô     /º ... º     // ... /                 ║
║                                                                              ║
║ Key \:                                                                       ║
║ \a ... ∞     \E ... τ     \d ... δ                                           ║
║ \e ... µ     \t ... Θ     \n ... φ     \\ ... \                              ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA  -  MISCELLANEOUS  1 (2)                                                 .
╔══════════════════════════════════════════════════════════════════════════════╗
║ If  any  of  keys  Alt+F1 ,..., Alt+F6, Alt+C, Ctrl+T, Ctrl+X,  or Ctrl+G is ║
║ pressed unintentionally,  it is possible  to cancel  corresponding function. ║
║ User can enter 0 as a result width answering the prompt:                     ║
║ "result width and number of decimal places   9   4"                          ║
║ and unintentionally invoked function will be canceled.                       ║
║                                                                              ║
║ String replacement is invoked by pressing Ctrl+A. In lower row the following ║
║ prompt appears:                                                              ║
║ "replace ? (y/n/*/Esc)"                                                      ║
║ If  y (yes) is entered,  string marked by white letters is replaced  and the ║
║ following occurrence of the string is found.  If n (no) is entered, replace- ║
║ ment is not realized.  Answer  "*" causes replacement  of all occurrences of ║
║ specified string  to the end of the text  (block, if block is selected).  If ║
║ Esc is pressed, replacement is canceled.                                     ║
║                                                                              ║
║ If Ctrl+N is pressed,  name of edited file  and name of block  (if block was ║
║ read using key Ctrl+R)  is displayed  at lower row.  If key  n (b)  is  then ║
║ pressed, name of the file (block) is transferred into text page.             ║
║                                                                              ║
║ If Ctrl+Z is pressed, row at cursor position is written into file SELECT.    ║
║                                                                              ║
╚══════════════════════════════════════════════════════════════════════════════╝
. EDA   -   MISCELLANEOUS  2 (2)                                               .
╔══════════════════════════════════════════════════════════════════════════════╗
║ Key Alt+T is intended for export of whole page  (of block, if it is defined) ║
║ into file in  DBF format.  Such file  can then be used  as an input file for ║
║ database programs (dBASE, FOXPRO,...) or for spreadsheets (QPRO, LOTUS,...). ║
║ EDA determines  width  and  number of the decimal places  in number-columns. ║
║ Also determines the date in the format  DD.MM.YY  -  day, month and year (as ║
║ a delimiter, character ".", "/" or "-" can be used). Columns containing only ║
║ numbers will be  transformed  as a numerical items,  columns containing only ║
║ date will be  transformed  as a date items  and in the other cases,  columns ║
║ will be transformed  as a character items.  Names of the items can be listed ║
║ in the separate file  name.HDF  in actual directory  (each name on the extra ║
║ row). If the file name.HDF does not exist, EDA will create it's own names.   ║
║                                                                              ║
║                                                                              ║
║ Program AFV2 can be used as a ASCII file viewer. It can be applied for files ║
║ up to 100MB and also enables  to split file into three smaller files,  which ║
║ can be edited separately. To run AFV2, simply type at DOS prompt:            ║
║                                                                              ║
║ AFV2 file_name                                                               ║
║                                                                              ║
║ where file_name is the name of the ASCII file.  AVF2 has its own help, avai- ║
║ lable by means of F1 key.                                                    ║
╚══════════════════════════════════════════════════════════════════════════════╝
